#!/bin/bash
# petteriIII 20.10.2015   

[[ ! $( apt-cache pkgnames | grep dc3dd ) ]] && echo 'koneessasi ei ole pakettia  nimeltä: dc3dd . Haen sen' && sudo apt-get install dc3dd 
[[ ! -d ~/.palautuspiste ]] && mkdir ~/.palautuspiste

function osiojollaollaan { apuu=$(df | awk '{print $1}'); osiojollaollaan=${apuu##*/dev/}; } # boottausosion looginen nimi tyypiltään sdx

function ota () { # tehdään kotikansioon palautuspiste järjestelmästä - siis kotitiedostoja ei oteta mukaan.   
sudo dc3dd if=/dev/$osiojollaollaan bufsz=10M | gzip -c  > ~/.palautuspiste/$osiojollaollaan/palautuspiste.gz ;}


function palauta () { # palautetaan järjestelmä kotiosiolla olevasta piilotiedostosta nimeltä .palautuspiste.gz # apu=$(cat /etc/lsb-release); apu=${apu##*DISTRIB_RELEASE=}; echo ${apu:0:5}
echo 'seuraaville osioille löytyy palautettavaa:'; ls ~/.palautuspiste; read -p ' minkä niistä haluat palauttaa: ' palautettavaosio 
gunzip -c ~/.palautuspiste/$palautettavaosio/palautuspiste.gz | sudo dc3dd of=/dev/$palautettavaosio ;}

# pääohjelma
osiojollaollaan; [[ ! -d ~/.palautuspiste/$osiojollaollaan ]] && mkdir ~/.palautuspiste/$osiojollaollaan
read -p 'otetaanko palautuspiste vai palautetaanko se (vastaa:ota tai:palauta) ?' teko 
$teko
